home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Resources / Chat & Communication / Digsby build 37 / digsby_setup.exe / lib / msn / MSNBuddies.pyo (.txt) < prev    next >
Python Compiled Bytecode  |  2008-10-13  |  2KB  |  62 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyo (Python 2.5)
  3.  
  4. from MSNBuddy import MSNBuddy
  5. from util.observe import ObservableDict
  6. from common.sms import *
  7. import util
  8. from logging import getLogger
  9. log = getLogger('msn.buddiesdict')
  10.  
  11. class MSNBuddies(ObservableDict):
  12.     
  13.     def __init__(self, protocol):
  14.         ObservableDict.__init__(self)
  15.         self.protocol = protocol
  16.  
  17.     
  18.     def __getitem__(self, buddy):
  19.         if not buddy:
  20.             raise NameError
  21.         
  22.         if util.is_email(buddy) and self in (self.protocol.buddies, self.protocol.f_buddies):
  23.             
  24.             try:
  25.                 return dict.__getitem__(self, buddy)
  26.             except KeyError:
  27.                 return self.setdefault(str(buddy), MSNBuddy(name = buddy, msn = self.protocol))
  28.             except:
  29.                 None<EXCEPTION MATCH>KeyError
  30.             
  31.  
  32.         None<EXCEPTION MATCH>KeyError
  33.         is_sms = validate_sms(buddy)
  34.         is_int = util.isint(buddy)
  35.         if (is_sms or is_int) and self is self.protocol.m_buddies:
  36.             
  37.             try:
  38.                 return dict.__getitem__(self, buddy)
  39.             except KeyError:
  40.                 return dict.setdefault(self, str(buddy), MSNBuddy(name = buddy, msn = self.protocol))
  41.             except:
  42.                 None<EXCEPTION MATCH>KeyError
  43.             
  44.  
  45.         None<EXCEPTION MATCH>KeyError
  46.         if self is self.protocol.f_buddies:
  47.             return dict.setdefault(self, buddy, MSNBuddy(name = buddy, msn = self.protocol))
  48.         else:
  49.             return self.protocol.f_buddies[buddy]
  50.         log.critical('Unknown buddy was requested: %r, %r', type(buddy), buddy)
  51.         raise KeyError(buddy)
  52.  
  53.     
  54.     def __delitem__(self, buddy):
  55.         return dict.__delitem__(self, str(buddy))
  56.  
  57.     
  58.     def __contains__(self, buddy):
  59.         return dict.__contains__(self, str(buddy))
  60.  
  61.  
  62.